In a workload scheduling system, a plurality of physical machines, virtual machines, and servers can exist to be utilized for execution of workloads. Workloads include batch jobs, computational tasks, application programs, or other processes, and each workload requires a specific set of resources for execution. Users of the workload scheduling system submit workloads into the system, where the workloads are scheduled and executed utilizing resources of the physical machines, virtual machines, and servers. Each physical machine, virtual machine, and server is comprised of resources, which include memory, software licenses, applications, central processing units (CPUs), cores, hyper-threads, operating systems, and disk space. A resource can include one or more sub-resources (e.g., a physical machine or a virtual machine is a resource that can have sub-resources of multiple CPUs, a CPU is a resource that can have sub-resources of multiple cores, a core is a resource that can have multiple hyper-threads, etc.). A server can host multiple virtual machines, and a hypervisor can control provisioning and allocation of the resources of the server to each virtual machine on the server. A hypervisor is a piece of hardware, software, or firmware that is utilized to create and run virtual machines, and manage resources that are available to the virtual machines. Provisioning of resources configures servers and physical machines corresponding to resource requirements (e.g., resources requirements of deployed workloads), allowing for execution of workloads with the corresponding resource requirements.